{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "## About \n",
    "https://www.kaggle.com/uladzimirkapeika/feature-engineering-lightgbm-top-1\n",
    "https://zhuanlan.zhihu.com/p/145969470\n",
    "# Version 1.0\n",
    "\n",
    "# Libraries\n",
    "> Check your versions"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 73,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "numpy 1.20.1\npandas 1.2.3\nseaborn 0.11.1\nsklearn 0.24.1\nlightgbm 3.2.0\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "from itertools import product\n",
    "import sklearn\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "from sklearn.linear_model import LinearRegression\n",
    "from sklearn.neighbors import KNeighborsRegressor\n",
    "from sklearn.ensemble import RandomForestRegressor\n",
    "import lightgbm as lgb\n",
    "import calendar\n",
    "from datetime import datetime\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "for p in [np, pd, sns, sklearn, lgb]:\n",
    "    print (p.__name__, p.__version__)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# **Load data**"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "214200\n2935849\n60\n22170\n84\n                                           item_name  item_id  \\\n0          ! ВО ВЛАСТИ НАВАЖДЕНИЯ (ПЛАСТ.)         D        0   \n1  !ABBYY FineReader 12 Professional Edition Full...        1   \n2      ***В ЛУЧАХ СЛАВЫ   (UNV)                    D        2   \n3    ***ГОЛУБАЯ ВОЛНА  (Univ)                      D        3   \n4        ***КОРОБКА (СТЕКЛО)                       D        4   \n\n   item_category_id  \n0                40  \n1                76  \n2                40  \n3                40  \n4                40  \n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "test = pd.read_csv('../data/0_raw/sales/test.csv.gz')\n",
    "sales = pd.read_csv('../data/0_raw/sales/sales_train.csv.gz', encoding='UTF-8')\n",
    "# sales = pd.read_csv('https://storage.googleapis.com/kaggle-competitions-data/kaggle-v2/8587/868304/compressed/sales_train.csv.zip?GoogleAccessId=web-data@kaggle-161607.iam.gserviceaccount.com&Expires=1617358534&Signature=Y2MaOnxnEFJEJyHGEcWo8TUoNYmCqt2e7oF%2BeCgx%2B4qcXKBIkTieoXUu5xzSOctQt39ow6zEjHx3v9%2FLrNVokl76laWDQoaTbuu8%2Bojg2QssJdGql3rYDE4xtWfLiZibevNa5fgBHFpkyaau56M5nEbqDUw%2BT8TCNZINMNA6VmAcYIO1nKz%2FBruZP3sMQiePLHFkeD80JawbwgJ4OzQ2fq0t0qXNPwNwfhJ%2FicHwqEF5L4Ll7m%2Bd3d1FMUrURGq5CIiOCcZQNZNdQ1RtBOIR0WTSC%2ByN2Y6269N1KiItBf8R8xNW8mu9PRSkZLk2SCiETuQzCg8c6EjT498K12j6Ig%3D%3D&response-content-disposition=attachment%3B+filename%3Dsales_train.csv.zip')\n",
    "shops = pd.read_csv('../data/0_raw/sales/shops.csv')\n",
    "# items = pd.read_csv('../data/0_raw/sales/items.csv.gz', encoding='UTF-8')\n",
    "items = pd.read_csv('https://storage.googleapis.com/kaggle-competitions-data/kaggle-v2/8587/868304/compressed/items.csv.zip?GoogleAccessId=web-data@kaggle-161607.iam.gserviceaccount.com&Expires=1617357929&Signature=QFp3crHy5f1oihj2VTtqfgeXhBl2BvxDhWq%2BZhQrb%2BXOBFlbUY7dR9e7Qi4yLf%2FYh%2FLitHpTw1o4J4LNES6X380v9rEkKCE8uZK93qxm1r66%2BoS9Oj1rlDT%2F5ChHQi0gQpS%2BHYwZ%2FZKageqv7lfXUYqMV9%2FiaKgaaBcoRoVxP5PIbXnXE9l9nUl3CnVEnVHDZ%2BPf6lp%2FaeZV%2Fy%2BiaNYAAOQjXfs81Un8dq9GASTn6x4k%2Bx%2BcmWYct2AWpqQmZNqNVlERB1euDhkVI8Y2EMjJ6YyOlS9vvrkV%2FrkGnmaPp07nzUwbLroSP%2F2Z1LmJ8bntmi0dPyngn2cgfcS4ArY5Zg%3D%3D&response-content-disposition=attachment%3B+filename%3Ditems.csv.zip')\n",
    "item_cats = pd.read_csv('../data/0_raw/sales/item_categories.csv', encoding='UTF-8')\n",
    "print(len(test))\n",
    "print(len(sales))\n",
    "print(len(shops))\n",
    "print(len(items))\n",
    "print(len(item_cats))\n",
    "print(items.head())"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# **Create dataset**"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Remove outliers"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "outputs": [
    {
     "data": {
      "text/plain": "<AxesSubplot:xlabel='item_cnt_day'>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 75
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAEHCAYAAACQkJyuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAOk0lEQVR4nO3dfWxd913H8c+ndpaszVRcJyphRHU2tYxOarviVdO0TQGlnW2VhPGkwURchihMEI1KVBQ1JY5SYKwik5ZOsEfmwMSkAtVSSLwm07KBBludLn1aW5J1mUjUpp0HXdLSNg9f/jjnhmP7OvFNfO/3+vr9kiJfn3Pu+R3/dPzO9bnX144IAQBa76LsAwCAhYoAA0ASAgwASQgwACQhwACQpLuRjZctWxZ9fX1NOhQA6Ez79u37QUQsn7q8oQD39fVpfHx87o4KABYA29+vt5xLEACQhAADQBICDABJCDAAJCHAAJCEAANAEgIMAEkIMAAkIcAAkIQAA0ASAgwASQgwACQhwACQhAADQBICDABJCDAAJCHAAJCEAANAEgIMAElaHuBt27Zp27ZtrR4WANpOywM8NjamsbGxVg8LAG2HSxAAkIQAA0ASAgwASQgwACQhwACQhAADQBICDABJCDAAJCHAAJCEAANAEgIMAEkIMAAkIcAAkIQAA0ASAgwASQgwACQhwACQhAADQBICDABJCDAAJCHAAJCEAANAEgIMAEkIMAAkIcAAkIQAA0ASAgwASQgwACQhwACQhAADQBICDABJCDAAJCHAAJCEAANAEgIMAEkIMAAkIcAAkIQAA0ASAgwASQgwACQhwACQhAADQJLuVg/48ssvt3pIAGhLLQ9wRLR6SABoS1yCAIAkBBgAkhBgAEhCgAEgCQEGgCQEGACSEGAASEKAASAJAQaAJAQYAJIQYABIQoABIAkBBoAkBBgAkhBgAEhCgAEgCQEGgCQEGACSEGAASEKAASAJAQaAJAQYAJIQYABIQoABIAkBBoAkBBgAkhBgAEhCgAEgCQEGgCQEGACSEGAASEKAASAJAQaAJAQYAJIQYABIQoABIAkBBoAkBBgAknS3YpCJiQlt3LhRhw8fPrNs9erVTR3ziiuuUFdXl44cOaLXXntNK1eu1OLFi3Xy5Ek999xzWrFihSJCR48e1ZYtWzQ6OqpNmzZJkjZv3qz169dr48aNsq0tW7Zo+/btk9Zv2rRJvb2908YdHx/X7bffrlWrVumee+6pu03NxMTEpLFeeeUVLVmyRPfee696enp01113KSJ09913n3U/1f1Vj7l2n9o4Mx1zu5qvx43O0szz0BEx6437+/tjfHy84UG2bt2qHTt2NHy/Vlm6dKleeuklrV27VhGhBx54QJdccomOHz8+4/q1a9fqtttum7avm2+++cz91q1bV3ebmq1bt04bS5L6+vp0zTXXnJmzc+2nur9696mNM9Mxt6v5etzoLHNxHtreFxH9U5c3/RLExMSEdu3a1exhLsjx48cVEdq1a5fGxsYUEZOCWG/92NiYJiYmJu1nfHx80v127tw5bZuaiYmJumNJ0qFDh7Rz584zn+/atWvG/VT3V53n2n2q49Q75nY1X48bnaXZ52HTAzw6OqqTJ082e5g5ceLECZ04cWJW60+dOqXt27dPWj8yMjJt+6nb1IyOjur06dMzjlWds7Ptp7q/evepjlPvmNvVfD1udJZmn4fnDLDtW22P2x5/4YUXGh5gz549auQyR6aIOOuxVtefPHlSu3fvnrR+6iNZSdO2qdmzZ8+s/2OKiBn3U91f9dhr96mOU++Y29V8PW50lmafh+cMcER8KiL6I6J/+fLlDQ+wZs0a2T6vg2s122c91ur67u5u3XjjjZPWL126dNp9pm5Ts2bNGnV3z+45UNsz7qe6v+qx1+5THafeMber+Xrc6CzNPg+bfglieHh41qHJtmjRIi1atGhW67u6urR+/fpJ66degli0aNG0bWqGh4d10UUzT391zs62n+r+6t2nOk69Y25X8/W40VmafR42PcC9vb0aHBxs9jAXZOnSpbKtwcFBDQwMyPakR7P11g8MDEx7SUp/f/+k+w0NDc34spXe3t66Y0nFqyCGhobOfD44OHjOl79Mnefafarj1DvmdjVfjxudpdnnYUsemg4PD+vAgQM6fPiwjh071oohG3od8ObNmzU6Onrmf7dDhw5Neh3wyMiItm/fPm19PSMjI2deBzybR63VsWqvA964caN6enp08OBBRcSs/9etzbPtSfepjjOfzNfjRmdp5nnYktcBV9V+AWPv3r0XtB8AmC/SXgcMAKiPAANAEgIMAEkIMAAkIcAAkIQAA0ASAgwASQgwACQhwACQhAADQBICDABJCDAAJCHAAJCEAANAEgIM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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(x=sales.item_cnt_day)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "outputs": [
    {
     "data": {
      "text/plain": "<AxesSubplot:xlabel='item_price'>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 76
    },
    {
     "data": {
      "text/plain": "<Figure size 432x288 with 1 Axes>",
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAEHCAYAAACQkJyuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAOKElEQVR4nO3df2xdZR3H8c9na6mIyI9tIROMBQpRJIijIiQqgwzcCImaYARNVlQCIjZi4h+QgYOkJPgzAhJBJ6EYYxR/BGLC5gaLf2gCdMp+wBwUUpRlwigZ6IJ1XR//OE/LbXvb9Xb33m/v7fuVND3nOefc53l6zvns3OfcneuUkgAA9bcgugEAMF8RwAAQhAAGgCAEMAAEIYABIEhLJSsvXrw4tbe316gpANCctmzZ8lpKacnE8ooCuL29XX19fdVrFQDMA7ZfKlfOEAQABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEq+k642br66qu1b98+XXDBBeru7q5HlQAw59UlgPfs2aP9+/erv7+/HtUBQENgCAIAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQpC4BPDQ0JEnavXu37r777npUCQBzXl0CeGRkRJL01ltvqb+/vx5VAsCcxxAEAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIK01LOy/fv3a+vWrVq+fHk9q51SW1ub7rnnHknS9ddfr6GhIUnS2rVrdeGFF45bd3BwULfccotSSurp6dGiRYsmvd7g4KBuu+02rV27tuxyAI2nluf1vL4CHhoaUk9Pj3p6esbCV5Juv/32Sev29vbq2Wef1c6dO/Xggw+Wfb3e3l5t3759yuUAGk8tz+t5HcCSNDAwoIGBgXFlw8PD2rx589j84OCg1q9fPzb/6KOPanBwcNw2o+uklLR+/fpJywE0nlqf1/M+gKdSehXc29urAwcOjM0fOHBg0r+Gvb29GhkZkSQdPHiQq2CgCdT6vD5kANu+xnaf7b69e/dWtfK5bHh4eGx606ZNSimNzaeUtHHjxnHrb9q0aWyb4eHhScsBNJ5an9eHDOCU0k9SSp0ppc4lS5ZUtfK5rKXl7fuTK1askO2xedu6+OKLx62/YsWKsW1aWlomLQfQeGp9XjMEMYU1a9aMTXd1dam1tXVsvrW1VatXrx63fldXlxYsKP6cCxcunLQcQOOp9Xk97wO4vb1d7e3t48paWlrGfQxt0aJFWrly5dj8qlWrJn0cZXQd21q5ciUfQwOaQK3P67p+DniuaWtr08033yxp/OeAS69+R3V1dam/v18ppSn/Fezq6tLAwABXv0ATqeV57dKbS4fS2dmZ+vr6Kq7koosu0sjIiI466ih1dHTozjvvrPg1AKBR2d6SUuqcWD7vhyAAIAoBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEKQuAbxgQVHNkUceqY6OjnpUCQBzXl0CuK2tTZJ04oknqru7ux5VAsCcxxAEAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCEMAAEIQABoAgBDAABCGAASAIAQwAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEaalHJUuXLtW+ffvU0dFRj+oAoCHUJYDXrVtXj2oAoKEwBAEAQQhgAAhCAANAEAIYAIIQwAAQhAAGgCAEMAAEIYABIAgBDABBCGAACEIAA0AQAhgAghDAABCEAAaAIAQwAAQhgAEgCAEMAEEIYAAIQgADQBACGACCOKU085XtvZJemmVdiyW9Nstt54pm6IPUHP1ohj5IzdEP+nBo70spLZlYWFEAHw7bfSmlzrpUViPN0AepOfrRDH2QmqMf9GH2GIIAgCAEMAAEqWcA/6SOddVKM/RBao5+NEMfpOboB32YpbqNAQMAxmMIAgCCEMAAEKTmAWx7pe1dtvtt31jr+mbC9oDt7baftt2Xy463vdH28/n3cbnctu/K7d9me1nJ63Tl9Z+33VVSfk5+/f68ravU7vttv2p7R0lZzds9VR1V7MOttnfn/fG07UtLlt2U27PL9idLysseV7ZPtv1ELv+V7SNyeVue78/L22fbh/x677W92faztp+x/fVc3jD7Y5o+NMz+sP0O20/a3pr7cNts661W3yqSUqrZj6SFkl6QdIqkIyRtlXRGLeucYbsGJC2eUPYdSTfm6RslfTtPXyrpUUmWdJ6kJ3L58ZJezL+Py9PH5WVP5nWdt11VpXZ/QtIySTvq2e6p6qhiH26V9M0y656Rj5k2SSfnY2nhdMeVpF9LuiJP3yvpujz9VUn35ukrJP3qMPfFUknL8vTRkp7L7W2Y/TFNHxpmf+S/zbvydKukJ/LfrKJ6q9m3itpfjWCY5o9zvqQNJfM3SbqplnXOsF0DmhzAuyQtLTkwd+Xp+yRdOXE9SVdKuq+k/L5ctlTS30vKx61Xhba3a3x41bzdU9VRxT7cqvIn/LjjRdKGfEyVPa7yyfiapJaJx9/otnm6Ja/nKu6XhyVd3Ij7o0wfGnJ/SHqnpL9K+mil9Vazb5X81HoI4kRJ/yyZfzmXRUuS/mh7i+1rctkJKaU9efpfkk7I01P1Ybryl8uU10o92j1VHdX0tfzW/P6St9SV9mGRpH0ppeEyfRjbJi9/I69/2PLb2A+ruPpqyP0xoQ9SA+0P2wttPy3pVUkbVVyxVlpvNfs2Y/P1JtzHUkrLJK2SdL3tT5QuTMU/aQ33+bx6tLtGdfxY0qmSzpa0R9L3q/z6NWP7XZJ+K+mGlNKbpcsaZX+U6UND7Y+U0sGU0tmSTpJ0rqT3x7Zo5modwLslvbdk/qRcFiqltDv/flXS71XstFdsL5Wk/PvVvPpUfZiu/KQy5bVSj3ZPVUdVpJReySfRiKSfqtgfs+nDoKRjbbeU6cPYNnn5MXn9WbPdqiK4fpFS+l0ubqj9Ua4Pjbo/Ukr7JG1WMRxQab3V7NuM1TqAn5J0Wr5beISKQe9HalzntGwfZfvo0WlJl0jakds1ege6S8V4mHL56nwX+zxJb+S3fxskXWL7uPwW7RIVY0B7JL1p+7x813p1yWvVQj3aPVUdVTEaJtlnVOyP0XqvyHeuT5Z0moobU2WPq3w1uFnS5WXaWtqHyyU9ntefbZst6WeSdqaUflCyqGH2x1R9aKT9YXuJ7WPz9JEqxrB3zqLeavZt5qoxeH+IgfFLVdxdfUHSmlrXN4P2nKLiTuZWSc+MtknFmM5jkp6XtEnS8bncku7J7d8uqbPktb4kqT//fLGkvFPFQfuCpB+pSjd7JP1SxVvCAyrGnL5cj3ZPVUcV+/Dz3MZtKk6EpSXrr8nt2aWST5NMdVzl/ftk7ttDktpy+TvyfH9efsph7ouPqXjrv03S0/nn0kbaH9P0oWH2h6SzJP0tt3WHpG/Ntt5q9a2SH/4rMgAEma834QAgHAEMAEEIYAAIQgADQBACGACCEMAAEIQARs3Z/kv+3W7789HtkSTb77H9m+h2YH7jc8CoG9vLVTxl67LgdrSktx+iAoThChg1Z/s/efIOSR938ZDvb+SnWH3X9lP5yVvX5vWX2/6T7Ydtv2j7DttfcPHg7e22T52mrgds32u7z/Zzti/L5VfZfsT245Iey1fjO/Kyhba/Z3tHbkd3Lj8nt2OL7Q0T/osucNhaDr0KUDU3quQK2MWjQN9IKX3EdpukP9v+Y173Q5I+IOl1FQ8pX5dSOtfFtzZ0S7phmnraVTxA5lRJm2135PJlks5KKb3u8d/AcE3e5uyU0rCLb5xolXS3pE+llPba/pyk21X8t2GgKghgRLpE0lm2Rx9ocoyKh6D8T9JTKT/z1vYLkkaDebukCw/xur9OxZO8nrf9ot5+POHGlNLrZdZfoeJbEoYlKQf0mZLOlLSxeGaNFqp4hgVQNQQwIllSd0ppw7jCYqx4qKRopGR+RIc+bife2Bid319h255JKZ1fwTZARRgDRj39W8V3j43aIOm6/HZftk/Pjwg9XJ+1vSCPFZ+i4ulW09ko6VrnZ7vaPj5vs8T2+bms1fYHq9A2YAxXwKinbZIO2t4q6QFJd6oYe/1rfjbtXkmfrkI9/1DxmMB3S/pKSum/nv6LqddJOl3SNtsHJP00pfSjPDRyl+1jVJwrP1TxCFOgKvgYGpqK7Qck/SGlxGd8MecxBAEAQRiCQEOyvUbSZycUP5RSuiqgOcCsMAQBAEEYggCAIAQwAAQhgAEgCAEMAEH+D8jspHIOjNMEAAAAAElFTkSuQmCC\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.boxplot(x=sales.item_price)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 77,
   "outputs": [
    {
     "name": "stderr",
     "text": [
      "/Users/songjie/.local/share/virtualenvs/snp_mvp-8ex0mMfN/lib/python3.7/site-packages/ipykernel_launcher.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n  \n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "train = sales[(sales.item_price < 100000) & (sales.item_price > 0)]\n",
    "train = train[sales.item_cnt_day < 1001]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Detect same shops"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 78,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "0     !Якутск Орджоникидзе, 56 фран\n57          Якутск Орджоникидзе, 56\nName: shop_name, dtype: object\n1     !Якутск ТЦ \"Центральный\" фран\n58          Якутск ТЦ \"Центральный\"\nName: shop_name, dtype: object\n39              РостовНаДону ТРК \"Мегацентр Горизонт\"\n40    РостовНаДону ТРК \"Мегацентр Горизонт\" Островной\nName: shop_name, dtype: object\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "print(shops[shops.shop_id.isin([0, 57])]['shop_name'])\n",
    "print(shops[shops.shop_id.isin([1, 58])]['shop_name'])\n",
    "print(shops[shops.shop_id.isin([40, 39])]['shop_name'])"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "outputs": [],
   "source": [
    "train.loc[train.shop_id == 0, 'shop_id'] = 57\n",
    "test.loc[test.shop_id == 0, 'shop_id'] = 57\n",
    "\n",
    "train.loc[train.shop_id == 1, 'shop_id'] = 58\n",
    "test.loc[test.shop_id == 1, 'shop_id'] = 58\n",
    "\n",
    "train.loc[train.shop_id == 40, 'shop_id'] = 39\n",
    "test.loc[test.shop_id == 40, 'shop_id'] = 39"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Simple train dataset"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 108,
   "outputs": [
    {
     "data": {
      "text/plain": "   shop_id  item_id  date_block_num  item_cnt_month\n0       59    22154               0             1.0\n1       59     2552               0             0.0\n2       59     2554               0             0.0\n3       59     2555               0             0.0\n4       59     2564               0             0.0",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>shop_id</th>\n      <th>item_id</th>\n      <th>date_block_num</th>\n      <th>item_cnt_month</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>0</th>\n      <td>59</td>\n      <td>22154</td>\n      <td>0</td>\n      <td>1.0</td>\n    </tr>\n    <tr>\n      <th>1</th>\n      <td>59</td>\n      <td>2552</td>\n      <td>0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>2</th>\n      <td>59</td>\n      <td>2554</td>\n      <td>0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>3</th>\n      <td>59</td>\n      <td>2555</td>\n      <td>0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>4</th>\n      <td>59</td>\n      <td>2564</td>\n      <td>0</td>\n      <td>0.0</td>\n    </tr>\n  </tbody>\n</table>\n</div>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 108
    }
   ],
   "source": [
    "index_cols = ['shop_id', 'item_id', 'date_block_num']\n",
    "\n",
    "df = [] \n",
    "for block_num in train['date_block_num'].unique():\n",
    "    cur_shops = train.loc[sales['date_block_num'] == block_num, 'shop_id'].unique()\n",
    "    cur_items = train.loc[sales['date_block_num'] == block_num, 'item_id'].unique()\n",
    "    df.append(np.array(list(product(*[cur_shops, cur_items, [block_num]])),dtype='int32'))\n",
    "\n",
    "df = pd.DataFrame(np.vstack(df), columns = index_cols,dtype=np.int32)\n",
    "\n",
    "#Add month sales\n",
    "group = train.groupby(['date_block_num','shop_id','item_id']).agg({'item_cnt_day': ['sum']})\n",
    "group.columns = ['item_cnt_month']\n",
    "group.reset_index(inplace=True)\n",
    "\n",
    "df = pd.merge(df, group, on=index_cols, how='left')\n",
    "df['item_cnt_month'] = (df['item_cnt_month']\n",
    "                                .fillna(0)\n",
    "                                .clip(0,20)\n",
    "                                .astype(np.float16))\n",
    "df.head(5)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Add test"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 81,
   "outputs": [],
   "source": [
    "test['date_block_num'] = 34\n",
    "test['date_block_num'] = test['date_block_num'].astype(np.int8)\n",
    "test['shop_id'] = test['shop_id'].astype(np.int8)\n",
    "test['item_id'] = test['item_id'].astype(np.int16)\n",
    "df = pd.concat([df, test], ignore_index=True, sort=False, keys=index_cols)\n",
    "df.fillna(0, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# Feature engineering"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Shop features**\n",
    "\n",
    "* City of a shop\n",
    "* City coords\n",
    "* Country part (0-4) based on the map "
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 82,
   "outputs": [],
   "source": [
    "shops['city'] = shops['shop_name'].apply(lambda x: x.split()[0].lower())\n",
    "shops.loc[shops.city == '!якутск', 'city'] = 'якутск'\n",
    "shops['city_code'] = LabelEncoder().fit_transform(shops['city'])\n",
    "\n",
    "coords = dict()\n",
    "coords['якутск'] = (62.028098, 129.732555, 4)\n",
    "coords['адыгея'] = (44.609764, 40.100516, 3)\n",
    "coords['балашиха'] = (55.8094500, 37.9580600, 1)\n",
    "coords['волжский'] = (53.4305800, 50.1190000, 3)\n",
    "coords['вологда'] = (59.2239000, 39.8839800, 2)\n",
    "coords['воронеж'] = (51.6720400, 39.1843000, 3)\n",
    "coords['выездная'] = (0, 0, 0)\n",
    "coords['жуковский'] = (55.5952800, 38.1202800, 1)\n",
    "coords['интернет-магазин'] = (0, 0, 0)\n",
    "coords['казань'] = (55.7887400, 49.1221400, 4)\n",
    "coords['калуга'] = (54.5293000, 36.2754200, 4)\n",
    "coords['коломна'] = (55.0794400, 38.7783300, 4)\n",
    "coords['красноярск'] = (56.0183900, 92.8671700, 4)\n",
    "coords['курск'] = (51.7373300, 36.1873500, 3)\n",
    "coords['москва'] = (55.7522200, 37.6155600, 1)\n",
    "coords['мытищи'] = (55.9116300, 37.7307600, 1)\n",
    "coords['н.новгород'] = (56.3286700, 44.0020500, 4)\n",
    "coords['новосибирск'] = (55.0415000, 82.9346000, 4)\n",
    "coords['омск'] = (54.9924400, 73.3685900, 4)\n",
    "coords['ростовнадону'] = (47.2313500, 39.7232800, 3)\n",
    "coords['спб'] = (59.9386300, 30.3141300, 2)\n",
    "coords['самара'] = (53.2000700, 50.1500000, 4)\n",
    "coords['сергиев'] = (56.3000000, 38.1333300, 4)\n",
    "coords['сургут'] = (61.2500000, 73.4166700, 4)\n",
    "coords['томск'] = (56.4977100, 84.9743700, 4)\n",
    "coords['тюмень'] = (57.1522200, 65.5272200, 4)\n",
    "coords['уфа'] = (54.7430600, 55.9677900, 4)\n",
    "coords['химки'] = (55.8970400, 37.4296900, 1)\n",
    "coords['цифровой'] = (0, 0, 0)\n",
    "coords['чехов'] = (55.1477000, 37.4772800, 4)\n",
    "coords['ярославль'] = (57.6298700, 39.8736800, 2) \n",
    "\n",
    "shops['city_coord_1'] = shops['city'].apply(lambda x: coords[x][0])\n",
    "shops['city_coord_2'] = shops['city'].apply(lambda x: coords[x][1])\n",
    "shops['country_part'] = shops['city'].apply(lambda x: coords[x][2])\n",
    "\n",
    "shops = shops[['shop_id', 'city_code', 'city_coord_1', 'city_coord_2', 'country_part']]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 83,
   "outputs": [],
   "source": [
    "df = pd.merge(df, shops, on=['shop_id'], how='left')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Item features**\n",
    "\n",
    "* Item category\n",
    "* More common item category"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 84,
   "outputs": [],
   "source": [
    "map_dict = {\n",
    "            'Чистые носители (штучные)': 'Чистые носители',\n",
    "            'Чистые носители (шпиль)' : 'Чистые носители',\n",
    "            'PC ': 'Аксессуары',\n",
    "            'Служебные': 'Служебные '\n",
    "            }\n",
    "\n",
    "items = pd.merge(items, item_cats, on='item_category_id')\n",
    "\n",
    "items['item_category'] = items['item_category_name'].apply(lambda x: x.split('-')[0])\n",
    "items['item_category'] = items['item_category'].apply(lambda x: map_dict[x] if x in map_dict.keys() else x)\n",
    "items['item_category_common'] = LabelEncoder().fit_transform(items['item_category'])\n",
    "\n",
    "items['item_category_code'] = LabelEncoder().fit_transform(items['item_category_name'])\n",
    "items = items[['item_id', 'item_category_common', 'item_category_code']]"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 85,
   "outputs": [],
   "source": [
    "df = pd.merge(df, items, on=['item_id'], how='left')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Date features**\n",
    "\n",
    "* Weekends count (4 or 5)\n",
    "* Number of days in a month"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "outputs": [],
   "source": [
    "def count_days(date_block_num):\n",
    "    year = 2013 + date_block_num // 12\n",
    "    month = 1 + date_block_num % 12\n",
    "    weeknd_count = len([1 for i in calendar.monthcalendar(year, month) if i[6] != 0])\n",
    "    days_in_month = calendar.monthrange(year, month)[1]\n",
    "    return weeknd_count, days_in_month, month\n",
    "\n",
    "map_dict = {i: count_days(i) for i in range(35)}\n",
    "\n",
    "df['weeknd_count'] = df['date_block_num'].apply(lambda x: map_dict[x][0])\n",
    "df['days_in_month'] = df['date_block_num'].apply(lambda x: map_dict[x][1])"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Interaction features**\n",
    "\n",
    "* Item is new\n",
    "* Item was bought in this shop before"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 87,
   "outputs": [],
   "source": [
    "first_item_block = df.groupby(['item_id'])['date_block_num'].min().reset_index()\n",
    "first_item_block['item_first_interaction'] = 1\n",
    "\n",
    "first_shop_item_buy_block = df[df['date_block_num'] > 0].groupby(['shop_id', 'item_id'])['date_block_num'].min().reset_index()\n",
    "first_shop_item_buy_block['first_date_block_num'] = first_shop_item_buy_block['date_block_num']"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "outputs": [],
   "source": [
    "df = pd.merge(df, first_item_block[['item_id', 'date_block_num', 'item_first_interaction']], on=['item_id', 'date_block_num'], how='left')\n",
    "df = pd.merge(df, first_shop_item_buy_block[['item_id', 'shop_id', 'first_date_block_num']], on=['item_id', 'shop_id'], how='left')\n",
    "\n",
    "df['first_date_block_num'].fillna(100, inplace=True)\n",
    "df['shop_item_sold_before'] = (df['first_date_block_num'] < df['date_block_num']).astype('int8')\n",
    "df.drop(['first_date_block_num'], axis=1, inplace=True)\n",
    "\n",
    "df['item_first_interaction'].fillna(0, inplace=True)\n",
    "df['shop_item_sold_before'].fillna(0, inplace=True)\n",
    " \n",
    "df['item_first_interaction'] = df['item_first_interaction'].astype('int8')  \n",
    "df['shop_item_sold_before'] = df['shop_item_sold_before'].astype('int8') "
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Basic lag features**"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 89,
   "outputs": [],
   "source": [
    "def lag_feature(df, lags, col):\n",
    "    tmp = df[['date_block_num','shop_id','item_id',col]]\n",
    "    for i in lags:\n",
    "        shifted = tmp.copy()\n",
    "        shifted.columns = ['date_block_num','shop_id','item_id', col+'_lag_'+str(i)]\n",
    "        shifted['date_block_num'] += i\n",
    "        df = pd.merge(df, shifted, on=['date_block_num','shop_id','item_id'], how='left')\n",
    "        df[col+'_lag_'+str(i)] = df[col+'_lag_'+str(i)].astype('float16')\n",
    "    return df"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "outputs": [],
   "source": [
    "#Add sales lags for last 3 months\n",
    "df = lag_feature(df, [1, 2, 3], 'item_cnt_month')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 91,
   "outputs": [],
   "source": [
    "#Add avg shop/item price\n",
    "\n",
    "index_cols = ['shop_id', 'item_id', 'date_block_num']\n",
    "group = train.groupby(index_cols)['item_price'].mean().reset_index().rename(columns={\"item_price\": \"avg_shop_price\"}, errors=\"raise\")\n",
    "df = pd.merge(df, group, on=index_cols, how='left')\n",
    "\n",
    "df['avg_shop_price'] = (df['avg_shop_price']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "index_cols = ['item_id', 'date_block_num']\n",
    "group = train.groupby(['date_block_num','item_id'])['item_price'].mean().reset_index().rename(columns={\"item_price\": \"avg_item_price\"}, errors=\"raise\")\n",
    "\n",
    "\n",
    "df = pd.merge(df, group, on=index_cols, how='left')\n",
    "df['avg_item_price'] = (df['avg_item_price']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df['item_shop_price_avg'] = (df['avg_shop_price'] - df['avg_item_price']) / df['avg_item_price']\n",
    "df['item_shop_price_avg'].fillna(0, inplace=True)\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'item_shop_price_avg')\n",
    "df.drop(['avg_shop_price', 'avg_item_price', 'item_shop_price_avg'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "**Target encoding**"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 92,
   "outputs": [],
   "source": [
    "#Add target encoding for items for last 3 months \n",
    "item_id_target_mean = df.groupby(['date_block_num','item_id'])['item_cnt_month'].mean().reset_index().rename(columns={\"item_cnt_month\": \"item_target_enc\"}, errors=\"raise\")\n",
    "df = pd.merge(df, item_id_target_mean, on=['date_block_num','item_id'], how='left')\n",
    "\n",
    "df['item_target_enc'] = (df['item_target_enc']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'item_target_enc')\n",
    "df.drop(['item_target_enc'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 93,
   "outputs": [],
   "source": [
    "#Add target encoding for item/city for last 3 months \n",
    "item_id_target_mean = df.groupby(['date_block_num','item_id', 'city_code'])['item_cnt_month'].mean().reset_index().rename(columns={\n",
    "    \"item_cnt_month\": \"item_loc_target_enc\"}, errors=\"raise\")\n",
    "df = pd.merge(df, item_id_target_mean, on=['date_block_num','item_id', 'city_code'], how='left')\n",
    "\n",
    "df['item_loc_target_enc'] = (df['item_loc_target_enc']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'item_loc_target_enc')\n",
    "df.drop(['item_loc_target_enc'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "outputs": [],
   "source": [
    "#Add target encoding for item/shop for last 3 months \n",
    "item_id_target_mean = df.groupby(['date_block_num','item_id', 'shop_id'])['item_cnt_month'].mean().reset_index().rename(columns={\n",
    "    \"item_cnt_month\": \"item_shop_target_enc\"}, errors=\"raise\")\n",
    "\n",
    "df = pd.merge(df, item_id_target_mean, on=['date_block_num','item_id', 'shop_id'], how='left')\n",
    "\n",
    "df['item_shop_target_enc'] = (df['item_shop_target_enc']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'item_shop_target_enc')\n",
    "df.drop(['item_shop_target_enc'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Extra interaction features"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 95,
   "outputs": [],
   "source": [
    "#For new items add avg category sales for last 3 months\n",
    "item_id_target_mean = df[df['item_first_interaction'] == 1].groupby(['date_block_num','item_category_code'])['item_cnt_month'].mean().reset_index().rename(columns={\n",
    "    \"item_cnt_month\": \"new_item_cat_avg\"}, errors=\"raise\")\n",
    "\n",
    "df = pd.merge(df, item_id_target_mean, on=['date_block_num','item_category_code'], how='left')\n",
    "\n",
    "df['new_item_cat_avg'] = (df['new_item_cat_avg']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'new_item_cat_avg')\n",
    "df.drop(['new_item_cat_avg'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "outputs": [],
   "source": [
    "#For new items add avg category sales in a separate store for last 3 months\n",
    "item_id_target_mean = df[df['item_first_interaction'] == 1].groupby(['date_block_num','item_category_code', 'shop_id'])['item_cnt_month'].mean().reset_index().rename(columns={\n",
    "    \"item_cnt_month\": \"new_item_shop_cat_avg\"}, errors=\"raise\")\n",
    "\n",
    "df = pd.merge(df, item_id_target_mean, on=['date_block_num','item_category_code', 'shop_id'], how='left')\n",
    "\n",
    "df['new_item_shop_cat_avg'] = (df['new_item_shop_cat_avg']\n",
    "                                .fillna(0)\n",
    "                                .astype(np.float16))\n",
    "\n",
    "df = lag_feature(df, [1, 2, 3], 'new_item_shop_cat_avg')\n",
    "df.drop(['new_item_shop_cat_avg'], axis=1, inplace=True)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Add sales for the last three months for similar item (item with id = item_id - 1;\n",
    "kinda tricky feature, but increased the metric significantly)"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 97,
   "outputs": [],
   "source": [
    "def lag_feature_adv(df, lags, col):\n",
    "    tmp = df[['date_block_num','shop_id','item_id',col]]\n",
    "    for i in lags:\n",
    "        shifted = tmp.copy()\n",
    "        shifted.columns = ['date_block_num','shop_id','item_id', col+'_lag_'+str(i)+'_adv']\n",
    "        shifted['date_block_num'] += i\n",
    "        shifted['item_id'] -= 1\n",
    "        df = pd.merge(df, shifted, on=['date_block_num','shop_id','item_id'], how='left')\n",
    "        df[col+'_lag_'+str(i)+'_adv'] = df[col+'_lag_'+str(i)+'_adv'].astype('float16')\n",
    "    return df\n",
    "\n",
    "df = lag_feature_adv(df, [1, 2, 3], 'item_cnt_month')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Remove data for the first three months"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 98,
   "outputs": [
    {
     "data": {
      "text/plain": "         shop_id  item_id  date_block_num  item_cnt_month   ID  city_code  \\\n1122795       25     8092               3             3.0  0.0         13   \n1122796       25     7850               3             3.0  0.0         13   \n1122797       25     8051               3             3.0  0.0         13   \n1122798       25     8088               3             1.0  0.0         13   \n1122799       25     8089               3             1.0  0.0         13   \n\n         city_coord_1  city_coord_2  country_part  item_category_common  ...  \\\n1122795      55.75222      37.61556             1                    11  ...   \n1122796      55.75222      37.61556             1                     8  ...   \n1122797      55.75222      37.61556             1                    14  ...   \n1122798      55.75222      37.61556             1                    13  ...   \n1122799      55.75222      37.61556             1                    13  ...   \n\n         item_shop_target_enc_lag_3  new_item_cat_avg_lag_1  \\\n1122795                         4.0                0.643066   \n1122796                         6.0                3.351562   \n1122797                         0.0                0.027664   \n1122798                         0.0                0.333252   \n1122799                         0.0                0.333252   \n\n         new_item_cat_avg_lag_2  new_item_cat_avg_lag_3  \\\n1122795                0.517578                0.293945   \n1122796                0.745605                1.126953   \n1122797                0.036224                0.160645   \n1122798                0.108521                0.208130   \n1122799                0.108521                0.208130   \n\n         new_item_shop_cat_avg_lag_1  new_item_shop_cat_avg_lag_2  \\\n1122795                     1.996094                     1.446289   \n1122796                     4.867188                     0.898438   \n1122797                     0.000000                     0.416748   \n1122798                     1.000000                     0.303955   \n1122799                     1.000000                     0.303955   \n\n         new_item_shop_cat_avg_lag_3  item_cnt_month_lag_1_adv  \\\n1122795                     0.891113                       7.0   \n1122796                     1.947266                       0.0   \n1122797                     1.019531                       0.0   \n1122798                     0.534668                       0.0   \n1122799                     0.534668                       2.0   \n\n         item_cnt_month_lag_2_adv  item_cnt_month_lag_3_adv  \n1122795                       5.0                      13.0  \n1122796                       0.0                       0.0  \n1122797                       0.0                       0.0  \n1122798                       1.0                       0.0  \n1122799                       0.0                       3.0  \n\n[5 rows x 39 columns]",
      "text/html": "<div>\n<style scoped>\n    .dataframe tbody tr th:only-of-type {\n        vertical-align: middle;\n    }\n\n    .dataframe tbody tr th {\n        vertical-align: top;\n    }\n\n    .dataframe thead th {\n        text-align: right;\n    }\n</style>\n<table border=\"1\" class=\"dataframe\">\n  <thead>\n    <tr style=\"text-align: right;\">\n      <th></th>\n      <th>shop_id</th>\n      <th>item_id</th>\n      <th>date_block_num</th>\n      <th>item_cnt_month</th>\n      <th>ID</th>\n      <th>city_code</th>\n      <th>city_coord_1</th>\n      <th>city_coord_2</th>\n      <th>country_part</th>\n      <th>item_category_common</th>\n      <th>...</th>\n      <th>item_shop_target_enc_lag_3</th>\n      <th>new_item_cat_avg_lag_1</th>\n      <th>new_item_cat_avg_lag_2</th>\n      <th>new_item_cat_avg_lag_3</th>\n      <th>new_item_shop_cat_avg_lag_1</th>\n      <th>new_item_shop_cat_avg_lag_2</th>\n      <th>new_item_shop_cat_avg_lag_3</th>\n      <th>item_cnt_month_lag_1_adv</th>\n      <th>item_cnt_month_lag_2_adv</th>\n      <th>item_cnt_month_lag_3_adv</th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr>\n      <th>1122795</th>\n      <td>25</td>\n      <td>8092</td>\n      <td>3</td>\n      <td>3.0</td>\n      <td>0.0</td>\n      <td>13</td>\n      <td>55.75222</td>\n      <td>37.61556</td>\n      <td>1</td>\n      <td>11</td>\n      <td>...</td>\n      <td>4.0</td>\n      <td>0.643066</td>\n      <td>0.517578</td>\n      <td>0.293945</td>\n      <td>1.996094</td>\n      <td>1.446289</td>\n      <td>0.891113</td>\n      <td>7.0</td>\n      <td>5.0</td>\n      <td>13.0</td>\n    </tr>\n    <tr>\n      <th>1122796</th>\n      <td>25</td>\n      <td>7850</td>\n      <td>3</td>\n      <td>3.0</td>\n      <td>0.0</td>\n      <td>13</td>\n      <td>55.75222</td>\n      <td>37.61556</td>\n      <td>1</td>\n      <td>8</td>\n      <td>...</td>\n      <td>6.0</td>\n      <td>3.351562</td>\n      <td>0.745605</td>\n      <td>1.126953</td>\n      <td>4.867188</td>\n      <td>0.898438</td>\n      <td>1.947266</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>1122797</th>\n      <td>25</td>\n      <td>8051</td>\n      <td>3</td>\n      <td>3.0</td>\n      <td>0.0</td>\n      <td>13</td>\n      <td>55.75222</td>\n      <td>37.61556</td>\n      <td>1</td>\n      <td>14</td>\n      <td>...</td>\n      <td>0.0</td>\n      <td>0.027664</td>\n      <td>0.036224</td>\n      <td>0.160645</td>\n      <td>0.000000</td>\n      <td>0.416748</td>\n      <td>1.019531</td>\n      <td>0.0</td>\n      <td>0.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>1122798</th>\n      <td>25</td>\n      <td>8088</td>\n      <td>3</td>\n      <td>1.0</td>\n      <td>0.0</td>\n      <td>13</td>\n      <td>55.75222</td>\n      <td>37.61556</td>\n      <td>1</td>\n      <td>13</td>\n      <td>...</td>\n      <td>0.0</td>\n      <td>0.333252</td>\n      <td>0.108521</td>\n      <td>0.208130</td>\n      <td>1.000000</td>\n      <td>0.303955</td>\n      <td>0.534668</td>\n      <td>0.0</td>\n      <td>1.0</td>\n      <td>0.0</td>\n    </tr>\n    <tr>\n      <th>1122799</th>\n      <td>25</td>\n      <td>8089</td>\n      <td>3</td>\n      <td>1.0</td>\n      <td>0.0</td>\n      <td>13</td>\n      <td>55.75222</td>\n      <td>37.61556</td>\n      <td>1</td>\n      <td>13</td>\n      <td>...</td>\n      <td>0.0</td>\n      <td>0.333252</td>\n      <td>0.108521</td>\n      <td>0.208130</td>\n      <td>1.000000</td>\n      <td>0.303955</td>\n      <td>0.534668</td>\n      <td>2.0</td>\n      <td>0.0</td>\n      <td>3.0</td>\n    </tr>\n  </tbody>\n</table>\n<p>5 rows × 39 columns</p>\n</div>"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 98
    }
   ],
   "source": [
    "df.fillna(0, inplace=True)\n",
    "df = df[(df['date_block_num'] > 2)]\n",
    "df.head()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 99,
   "outputs": [
    {
     "data": {
      "text/plain": "Index(['shop_id', 'item_id', 'date_block_num', 'item_cnt_month', 'ID',\n       'city_code', 'city_coord_1', 'city_coord_2', 'country_part',\n       'item_category_common', 'item_category_code', 'weeknd_count',\n       'days_in_month', 'item_first_interaction', 'shop_item_sold_before',\n       'item_cnt_month_lag_1', 'item_cnt_month_lag_2', 'item_cnt_month_lag_3',\n       'item_shop_price_avg_lag_1', 'item_shop_price_avg_lag_2',\n       'item_shop_price_avg_lag_3', 'item_target_enc_lag_1',\n       'item_target_enc_lag_2', 'item_target_enc_lag_3',\n       'item_loc_target_enc_lag_1', 'item_loc_target_enc_lag_2',\n       'item_loc_target_enc_lag_3', 'item_shop_target_enc_lag_1',\n       'item_shop_target_enc_lag_2', 'item_shop_target_enc_lag_3',\n       'new_item_cat_avg_lag_1', 'new_item_cat_avg_lag_2',\n       'new_item_cat_avg_lag_3', 'new_item_shop_cat_avg_lag_1',\n       'new_item_shop_cat_avg_lag_2', 'new_item_shop_cat_avg_lag_3',\n       'item_cnt_month_lag_1_adv', 'item_cnt_month_lag_2_adv',\n       'item_cnt_month_lag_3_adv'],\n      dtype='object')"
     },
     "metadata": {},
     "output_type": "execute_result",
     "execution_count": 99
    }
   ],
   "source": [
    "df.columns"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 100,
   "outputs": [],
   "source": [
    "#Save dataset\n",
    "df.drop(['ID'], axis=1, inplace=True, errors='ignore')\n",
    "df.to_pickle('../output/models/sales_df.pkl')"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "# Train model"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 101,
   "outputs": [
    {
     "name": "stdout",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\nInt64Index: 9933482 entries, 1122795 to 11056276\nData columns (total 38 columns):\n #   Column                       Dtype  \n---  ------                       -----  \n 0   shop_id                      int32  \n 1   item_id                      int32  \n 2   date_block_num               int32  \n 3   item_cnt_month               float16\n 4   city_code                    int64  \n 5   city_coord_1                 float64\n 6   city_coord_2                 float64\n 7   country_part                 int64  \n 8   item_category_common         int64  \n 9   item_category_code           int64  \n 10  weeknd_count                 int64  \n 11  days_in_month                int64  \n 12  item_first_interaction       int8   \n 13  shop_item_sold_before        int8   \n 14  item_cnt_month_lag_1         float16\n 15  item_cnt_month_lag_2         float16\n 16  item_cnt_month_lag_3         float16\n 17  item_shop_price_avg_lag_1    float16\n 18  item_shop_price_avg_lag_2    float16\n 19  item_shop_price_avg_lag_3    float16\n 20  item_target_enc_lag_1        float16\n 21  item_target_enc_lag_2        float16\n 22  item_target_enc_lag_3        float16\n 23  item_loc_target_enc_lag_1    float16\n 24  item_loc_target_enc_lag_2    float16\n 25  item_loc_target_enc_lag_3    float16\n 26  item_shop_target_enc_lag_1   float16\n 27  item_shop_target_enc_lag_2   float16\n 28  item_shop_target_enc_lag_3   float16\n 29  new_item_cat_avg_lag_1       float16\n 30  new_item_cat_avg_lag_2       float16\n 31  new_item_cat_avg_lag_3       float16\n 32  new_item_shop_cat_avg_lag_1  float16\n 33  new_item_shop_cat_avg_lag_2  float16\n 34  new_item_shop_cat_avg_lag_3  float16\n 35  item_cnt_month_lag_1_adv     float16\n 36  item_cnt_month_lag_2_adv     float16\n 37  item_cnt_month_lag_3_adv     float16\ndtypes: float16(25), float64(2), int32(3), int64(6), int8(2)\nmemory usage: 1.3 GB\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "df = pd.read_pickle('../output/models/sales_df.pkl')\n",
    "df.info()"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 102,
   "outputs": [],
   "source": [
    "X_train = df[df.date_block_num < 33].drop(['item_cnt_month'], axis=1)\n",
    "Y_train = df[df.date_block_num < 33]['item_cnt_month']\n",
    "X_valid = df[df.date_block_num == 33].drop(['item_cnt_month'], axis=1)\n",
    "Y_valid = df[df.date_block_num == 33]['item_cnt_month']\n",
    "X_test = df[df.date_block_num == 34].drop(['item_cnt_month'], axis=1)\n",
    "del df"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 103,
   "outputs": [
    {
     "name": "stderr",
     "text": [
      "/Users/songjie/.local/share/virtualenvs/snp_mvp-8ex0mMfN/lib/python3.7/site-packages/lightgbm/basic.py:1706: UserWarning: categorical_feature in Dataset is overridden.\nNew categorical_feature is ['city_code', 'country_part', 'item_category_code', 'item_category_common']\n  'New categorical_feature is {}'.format(sorted(list(categorical_feature))))\n",
      "/Users/songjie/.local/share/virtualenvs/snp_mvp-8ex0mMfN/lib/python3.7/site-packages/lightgbm/basic.py:1433: UserWarning: Overriding the parameters from Reference Dataset.\n  _log_warning('Overriding the parameters from Reference Dataset.')\n/Users/songjie/.local/share/virtualenvs/snp_mvp-8ex0mMfN/lib/python3.7/site-packages/lightgbm/basic.py:1245: UserWarning: categorical_column in param dict is overridden.\n  _log_warning('{} in param dict is overridden.'.format(cat_alias))\n"
     ],
     "output_type": "stream"
    },
    {
     "name": "stdout",
     "text": [
      "[LightGBM] [Warning] Auto-choosing row-wise multi-threading, the overhead of testing was 0.617277 seconds.\nYou can set `force_row_wise=true` to remove the overhead.\nAnd if memory is not enough, you can set `force_col_wise=true`.\n[LightGBM] [Info] Total Bins 4397\n[LightGBM] [Info] Number of data points in the train set: 9481110, number of used features: 37\n",
      "[LightGBM] [Info] Start training from score 0.296231\n",
      "Training until validation scores don't improve for 100 rounds\n",
      "[5]\ttraining's rmse: 1.20369\tvalid_1's rmse: 1.12732\n",
      "[10]\ttraining's rmse: 1.19106\tvalid_1's rmse: 1.11749\n",
      "[15]\ttraining's rmse: 1.17891\tvalid_1's rmse: 1.10819\n",
      "[20]\ttraining's rmse: 1.167\tvalid_1's rmse: 1.09907\n",
      "[25]\ttraining's rmse: 1.15587\tvalid_1's rmse: 1.09053\n",
      "[30]\ttraining's rmse: 1.14521\tvalid_1's rmse: 1.08236\n",
      "[35]\ttraining's rmse: 1.13485\tvalid_1's rmse: 1.07448\n",
      "[40]\ttraining's rmse: 1.12466\tvalid_1's rmse: 1.06692\n",
      "[45]\ttraining's rmse: 1.11484\tvalid_1's rmse: 1.05944\n",
      "[50]\ttraining's rmse: 1.10591\tvalid_1's rmse: 1.05313\n",
      "[55]\ttraining's rmse: 1.09678\tvalid_1's rmse: 1.04638\n",
      "[60]\ttraining's rmse: 1.08828\tvalid_1's rmse: 1.04033\n",
      "[65]\ttraining's rmse: 1.08022\tvalid_1's rmse: 1.03459\n",
      "[70]\ttraining's rmse: 1.07231\tvalid_1's rmse: 1.02894\n",
      "[75]\ttraining's rmse: 1.0647\tvalid_1's rmse: 1.02338\n",
      "[80]\ttraining's rmse: 1.05741\tvalid_1's rmse: 1.01808\n",
      "[85]\ttraining's rmse: 1.05038\tvalid_1's rmse: 1.0132\n",
      "[90]\ttraining's rmse: 1.04348\tvalid_1's rmse: 1.00823\n",
      "[95]\ttraining's rmse: 1.03687\tvalid_1's rmse: 1.00349\n",
      "[100]\ttraining's rmse: 1.03029\tvalid_1's rmse: 0.998857\n",
      "[105]\ttraining's rmse: 1.02423\tvalid_1's rmse: 0.994709\n",
      "[110]\ttraining's rmse: 1.01855\tvalid_1's rmse: 0.990922\n",
      "[115]\ttraining's rmse: 1.01308\tvalid_1's rmse: 0.987177\n",
      "[120]\ttraining's rmse: 1.00753\tvalid_1's rmse: 0.983396\n",
      "[125]\ttraining's rmse: 1.00221\tvalid_1's rmse: 0.97974\n",
      "[130]\ttraining's rmse: 0.996848\tvalid_1's rmse: 0.976514\n",
      "[135]\ttraining's rmse: 0.991829\tvalid_1's rmse: 0.973056\n",
      "[140]\ttraining's rmse: 0.987175\tvalid_1's rmse: 0.970029\n",
      "[145]\ttraining's rmse: 0.98272\tvalid_1's rmse: 0.96714\n",
      "[150]\ttraining's rmse: 0.978185\tvalid_1's rmse: 0.963891\n",
      "[155]\ttraining's rmse: 0.973962\tvalid_1's rmse: 0.961061\n",
      "[160]\ttraining's rmse: 0.969992\tvalid_1's rmse: 0.958413\n",
      "[165]\ttraining's rmse: 0.966086\tvalid_1's rmse: 0.955985\n",
      "[170]\ttraining's rmse: 0.962212\tvalid_1's rmse: 0.953546\n",
      "[175]\ttraining's rmse: 0.958547\tvalid_1's rmse: 0.951291\n",
      "[180]\ttraining's rmse: 0.95499\tvalid_1's rmse: 0.94924\n",
      "[185]\ttraining's rmse: 0.951593\tvalid_1's rmse: 0.947084\n",
      "[190]\ttraining's rmse: 0.948228\tvalid_1's rmse: 0.944817\n",
      "[195]\ttraining's rmse: 0.945086\tvalid_1's rmse: 0.942834\n",
      "[200]\ttraining's rmse: 0.942138\tvalid_1's rmse: 0.941076\n",
      "[205]\ttraining's rmse: 0.939052\tvalid_1's rmse: 0.939178\n",
      "[210]\ttraining's rmse: 0.936265\tvalid_1's rmse: 0.937451\n",
      "[215]\ttraining's rmse: 0.933507\tvalid_1's rmse: 0.935718\n",
      "[220]\ttraining's rmse: 0.930884\tvalid_1's rmse: 0.934247\n",
      "[225]\ttraining's rmse: 0.928256\tvalid_1's rmse: 0.932667\n",
      "[230]\ttraining's rmse: 0.925795\tvalid_1's rmse: 0.931251\n",
      "[235]\ttraining's rmse: 0.923377\tvalid_1's rmse: 0.929964\n",
      "[240]\ttraining's rmse: 0.921089\tvalid_1's rmse: 0.928489\n",
      "[245]\ttraining's rmse: 0.918991\tvalid_1's rmse: 0.927361\n",
      "[250]\ttraining's rmse: 0.916823\tvalid_1's rmse: 0.92611\n",
      "[255]\ttraining's rmse: 0.914696\tvalid_1's rmse: 0.925001\n",
      "[260]\ttraining's rmse: 0.912581\tvalid_1's rmse: 0.923928\n",
      "[265]\ttraining's rmse: 0.910784\tvalid_1's rmse: 0.922913\n",
      "[270]\ttraining's rmse: 0.908904\tvalid_1's rmse: 0.922084\n",
      "[275]\ttraining's rmse: 0.907165\tvalid_1's rmse: 0.921196\n",
      "[280]\ttraining's rmse: 0.905428\tvalid_1's rmse: 0.920258\n",
      "[285]\ttraining's rmse: 0.903739\tvalid_1's rmse: 0.919649\n",
      "[290]\ttraining's rmse: 0.902028\tvalid_1's rmse: 0.918649\n",
      "[295]\ttraining's rmse: 0.900346\tvalid_1's rmse: 0.917641\n",
      "[300]\ttraining's rmse: 0.898752\tvalid_1's rmse: 0.91692\n",
      "[305]\ttraining's rmse: 0.897216\tvalid_1's rmse: 0.916179\n",
      "[310]\ttraining's rmse: 0.895692\tvalid_1's rmse: 0.915487\n",
      "[315]\ttraining's rmse: 0.894254\tvalid_1's rmse: 0.914832\n",
      "[320]\ttraining's rmse: 0.892745\tvalid_1's rmse: 0.914011\n",
      "[325]\ttraining's rmse: 0.891304\tvalid_1's rmse: 0.913477\n",
      "[330]\ttraining's rmse: 0.890014\tvalid_1's rmse: 0.912818\n",
      "[335]\ttraining's rmse: 0.888801\tvalid_1's rmse: 0.912269\n",
      "[340]\ttraining's rmse: 0.887502\tvalid_1's rmse: 0.911805\n",
      "[345]\ttraining's rmse: 0.886353\tvalid_1's rmse: 0.911158\n",
      "[350]\ttraining's rmse: 0.885072\tvalid_1's rmse: 0.910525\n",
      "[355]\ttraining's rmse: 0.883862\tvalid_1's rmse: 0.910103\n",
      "[360]\ttraining's rmse: 0.882822\tvalid_1's rmse: 0.909689\n",
      "[365]\ttraining's rmse: 0.881688\tvalid_1's rmse: 0.909335\n",
      "[370]\ttraining's rmse: 0.88038\tvalid_1's rmse: 0.908635\n",
      "[375]\ttraining's rmse: 0.879332\tvalid_1's rmse: 0.908172\n",
      "[380]\ttraining's rmse: 0.87828\tvalid_1's rmse: 0.907841\n",
      "[385]\ttraining's rmse: 0.87728\tvalid_1's rmse: 0.907631\n",
      "[390]\ttraining's rmse: 0.876154\tvalid_1's rmse: 0.907413\n",
      "[395]\ttraining's rmse: 0.87515\tvalid_1's rmse: 0.907068\n",
      "[400]\ttraining's rmse: 0.874082\tvalid_1's rmse: 0.906685\n",
      "[405]\ttraining's rmse: 0.873207\tvalid_1's rmse: 0.90641\n",
      "[410]\ttraining's rmse: 0.872267\tvalid_1's rmse: 0.906064\n",
      "[415]\ttraining's rmse: 0.871388\tvalid_1's rmse: 0.905768\n",
      "[420]\ttraining's rmse: 0.870542\tvalid_1's rmse: 0.905337\n",
      "[425]\ttraining's rmse: 0.869513\tvalid_1's rmse: 0.905371\n",
      "[430]\ttraining's rmse: 0.868711\tvalid_1's rmse: 0.905283\n",
      "[435]\ttraining's rmse: 0.867796\tvalid_1's rmse: 0.905009\n",
      "[440]\ttraining's rmse: 0.867016\tvalid_1's rmse: 0.904785\n",
      "[445]\ttraining's rmse: 0.866146\tvalid_1's rmse: 0.90454\n",
      "[450]\ttraining's rmse: 0.865296\tvalid_1's rmse: 0.904234\n",
      "[455]\ttraining's rmse: 0.864458\tvalid_1's rmse: 0.904014\n",
      "[460]\ttraining's rmse: 0.863745\tvalid_1's rmse: 0.903737\n",
      "[465]\ttraining's rmse: 0.863017\tvalid_1's rmse: 0.903552\n",
      "[470]\ttraining's rmse: 0.862277\tvalid_1's rmse: 0.903191\n",
      "[475]\ttraining's rmse: 0.86149\tvalid_1's rmse: 0.90291\n",
      "[480]\ttraining's rmse: 0.860779\tvalid_1's rmse: 0.902848\n",
      "[485]\ttraining's rmse: 0.860028\tvalid_1's rmse: 0.902786\n",
      "[490]\ttraining's rmse: 0.859377\tvalid_1's rmse: 0.902607\n",
      "[495]\ttraining's rmse: 0.858688\tvalid_1's rmse: 0.902342\n",
      "[500]\ttraining's rmse: 0.857994\tvalid_1's rmse: 0.902206\n",
      "[505]\ttraining's rmse: 0.85736\tvalid_1's rmse: 0.902059\n",
      "[510]\ttraining's rmse: 0.856787\tvalid_1's rmse: 0.90188\n",
      "[515]\ttraining's rmse: 0.856158\tvalid_1's rmse: 0.901644\n",
      "[520]\ttraining's rmse: 0.855574\tvalid_1's rmse: 0.901494\n",
      "[525]\ttraining's rmse: 0.854911\tvalid_1's rmse: 0.901229\n",
      "[530]\ttraining's rmse: 0.854309\tvalid_1's rmse: 0.901073\n",
      "[535]\ttraining's rmse: 0.85373\tvalid_1's rmse: 0.900833\n",
      "[540]\ttraining's rmse: 0.853097\tvalid_1's rmse: 0.900669\n",
      "[545]\ttraining's rmse: 0.852525\tvalid_1's rmse: 0.900409\n",
      "[550]\ttraining's rmse: 0.851909\tvalid_1's rmse: 0.90038\n",
      "[555]\ttraining's rmse: 0.851385\tvalid_1's rmse: 0.900212\n",
      "[560]\ttraining's rmse: 0.850848\tvalid_1's rmse: 0.900044\n",
      "[565]\ttraining's rmse: 0.850345\tvalid_1's rmse: 0.899966\n",
      "[570]\ttraining's rmse: 0.849742\tvalid_1's rmse: 0.89993\n",
      "[575]\ttraining's rmse: 0.849229\tvalid_1's rmse: 0.899635\n",
      "[580]\ttraining's rmse: 0.848666\tvalid_1's rmse: 0.899273\n",
      "[585]\ttraining's rmse: 0.848104\tvalid_1's rmse: 0.899167\n",
      "[590]\ttraining's rmse: 0.847682\tvalid_1's rmse: 0.899015\n",
      "[595]\ttraining's rmse: 0.847171\tvalid_1's rmse: 0.898839\n",
      "[600]\ttraining's rmse: 0.846685\tvalid_1's rmse: 0.898723\n",
      "[605]\ttraining's rmse: 0.846216\tvalid_1's rmse: 0.898605\n",
      "[610]\ttraining's rmse: 0.845751\tvalid_1's rmse: 0.898459\n",
      "[615]\ttraining's rmse: 0.845304\tvalid_1's rmse: 0.898311\n",
      "[620]\ttraining's rmse: 0.844845\tvalid_1's rmse: 0.898215\n",
      "[625]\ttraining's rmse: 0.844382\tvalid_1's rmse: 0.898159\n",
      "[630]\ttraining's rmse: 0.843903\tvalid_1's rmse: 0.898122\n",
      "[635]\ttraining's rmse: 0.843414\tvalid_1's rmse: 0.898036\n",
      "[640]\ttraining's rmse: 0.842928\tvalid_1's rmse: 0.897995\n",
      "[645]\ttraining's rmse: 0.842452\tvalid_1's rmse: 0.897951\n",
      "[650]\ttraining's rmse: 0.842026\tvalid_1's rmse: 0.897826\n",
      "[655]\ttraining's rmse: 0.841621\tvalid_1's rmse: 0.897741\n",
      "[660]\ttraining's rmse: 0.841206\tvalid_1's rmse: 0.897684\n",
      "[665]\ttraining's rmse: 0.8408\tvalid_1's rmse: 0.897665\n",
      "[670]\ttraining's rmse: 0.840367\tvalid_1's rmse: 0.897596\n",
      "[675]\ttraining's rmse: 0.839938\tvalid_1's rmse: 0.89756\n",
      "[680]\ttraining's rmse: 0.839532\tvalid_1's rmse: 0.897402\n",
      "[685]\ttraining's rmse: 0.83915\tvalid_1's rmse: 0.897316\n",
      "[690]\ttraining's rmse: 0.838748\tvalid_1's rmse: 0.897243\n",
      "[695]\ttraining's rmse: 0.838349\tvalid_1's rmse: 0.897143\n",
      "[700]\ttraining's rmse: 0.837949\tvalid_1's rmse: 0.897058\n",
      "[705]\ttraining's rmse: 0.837559\tvalid_1's rmse: 0.897028\n",
      "[710]\ttraining's rmse: 0.837173\tvalid_1's rmse: 0.896899\n",
      "[715]\ttraining's rmse: 0.836726\tvalid_1's rmse: 0.896922\n",
      "[720]\ttraining's rmse: 0.836293\tvalid_1's rmse: 0.896939\n",
      "[725]\ttraining's rmse: 0.835945\tvalid_1's rmse: 0.896931\n",
      "[730]\ttraining's rmse: 0.835562\tvalid_1's rmse: 0.896968\n",
      "[735]\ttraining's rmse: 0.835177\tvalid_1's rmse: 0.896854\n",
      "[740]\ttraining's rmse: 0.834786\tvalid_1's rmse: 0.896772\n",
      "[745]\ttraining's rmse: 0.834415\tvalid_1's rmse: 0.896703\n",
      "[750]\ttraining's rmse: 0.834087\tvalid_1's rmse: 0.896672\n",
      "[755]\ttraining's rmse: 0.833658\tvalid_1's rmse: 0.896716\n",
      "[760]\ttraining's rmse: 0.83332\tvalid_1's rmse: 0.896655\n",
      "[765]\ttraining's rmse: 0.83292\tvalid_1's rmse: 0.896691\n",
      "[770]\ttraining's rmse: 0.832564\tvalid_1's rmse: 0.896636\n",
      "[775]\ttraining's rmse: 0.83222\tvalid_1's rmse: 0.896601\n",
      "[780]\ttraining's rmse: 0.831888\tvalid_1's rmse: 0.896312\n",
      "[785]\ttraining's rmse: 0.831553\tvalid_1's rmse: 0.896142\n",
      "[790]\ttraining's rmse: 0.831232\tvalid_1's rmse: 0.89625\n",
      "[795]\ttraining's rmse: 0.830933\tvalid_1's rmse: 0.896254\n",
      "[800]\ttraining's rmse: 0.830613\tvalid_1's rmse: 0.896131\n",
      "[805]\ttraining's rmse: 0.83028\tvalid_1's rmse: 0.896313\n",
      "[810]\ttraining's rmse: 0.829924\tvalid_1's rmse: 0.896245\n",
      "[815]\ttraining's rmse: 0.829641\tvalid_1's rmse: 0.896218\n",
      "[820]\ttraining's rmse: 0.829317\tvalid_1's rmse: 0.896213\n",
      "[825]\ttraining's rmse: 0.829023\tvalid_1's rmse: 0.896137\n",
      "[830]\ttraining's rmse: 0.828728\tvalid_1's rmse: 0.89618\n",
      "[835]\ttraining's rmse: 0.82838\tvalid_1's rmse: 0.896146\n",
      "[840]\ttraining's rmse: 0.828101\tvalid_1's rmse: 0.895984\n",
      "[845]\ttraining's rmse: 0.827783\tvalid_1's rmse: 0.896067\n",
      "[850]\ttraining's rmse: 0.827499\tvalid_1's rmse: 0.895992\n",
      "[855]\ttraining's rmse: 0.827202\tvalid_1's rmse: 0.895843\n",
      "[860]\ttraining's rmse: 0.826937\tvalid_1's rmse: 0.895662\n",
      "[865]\ttraining's rmse: 0.826672\tvalid_1's rmse: 0.89559\n",
      "[870]\ttraining's rmse: 0.826393\tvalid_1's rmse: 0.895404\n",
      "[875]\ttraining's rmse: 0.826078\tvalid_1's rmse: 0.895379\n",
      "[880]\ttraining's rmse: 0.825811\tvalid_1's rmse: 0.894999\n",
      "[885]\ttraining's rmse: 0.82552\tvalid_1's rmse: 0.894966\n",
      "[890]\ttraining's rmse: 0.825212\tvalid_1's rmse: 0.894971\n",
      "[895]\ttraining's rmse: 0.824958\tvalid_1's rmse: 0.894965\n",
      "[900]\ttraining's rmse: 0.824608\tvalid_1's rmse: 0.895072\n",
      "[905]\ttraining's rmse: 0.824313\tvalid_1's rmse: 0.895018\n",
      "[910]\ttraining's rmse: 0.823999\tvalid_1's rmse: 0.895226\n",
      "[915]\ttraining's rmse: 0.82368\tvalid_1's rmse: 0.895183\n",
      "[920]\ttraining's rmse: 0.823405\tvalid_1's rmse: 0.895136\n",
      "[925]\ttraining's rmse: 0.823092\tvalid_1's rmse: 0.895089\n",
      "[930]\ttraining's rmse: 0.822842\tvalid_1's rmse: 0.895044\n",
      "[935]\ttraining's rmse: 0.822543\tvalid_1's rmse: 0.895045\n",
      "[940]\ttraining's rmse: 0.822283\tvalid_1's rmse: 0.894982\n",
      "[945]\ttraining's rmse: 0.821913\tvalid_1's rmse: 0.895051\n",
      "[950]\ttraining's rmse: 0.821627\tvalid_1's rmse: 0.895132\n",
      "[955]\ttraining's rmse: 0.821332\tvalid_1's rmse: 0.895069\n",
      "[960]\ttraining's rmse: 0.821052\tvalid_1's rmse: 0.895128\n",
      "[965]\ttraining's rmse: 0.820823\tvalid_1's rmse: 0.89513\n",
      "[970]\ttraining's rmse: 0.820534\tvalid_1's rmse: 0.895049\n",
      "[975]\ttraining's rmse: 0.820281\tvalid_1's rmse: 0.895044\n",
      "[980]\ttraining's rmse: 0.820018\tvalid_1's rmse: 0.895047\n",
      "[985]\ttraining's rmse: 0.819746\tvalid_1's rmse: 0.895058\n",
      "[990]\ttraining's rmse: 0.819521\tvalid_1's rmse: 0.895009\n",
      "Early stopping, best iteration is:\n[892]\ttraining's rmse: 0.825103\tvalid_1's rmse: 0.894941\n"
     ],
     "output_type": "stream"
    }
   ],
   "source": [
    "feature_name = X_train.columns.tolist()\n",
    "\n",
    "params = {\n",
    "    'objective': 'mse',\n",
    "    'metric': 'rmse',\n",
    "    'num_leaves': 2 ** 7 - 1,\n",
    "    'learning_rate': 0.005,\n",
    "    'feature_fraction': 0.75,\n",
    "    'bagging_fraction': 0.75,\n",
    "    'bagging_freq': 5,\n",
    "    'seed': 1,\n",
    "    'verbose': 1\n",
    "}\n",
    "\n",
    "feature_name_indexes = [ \n",
    "                        'country_part', \n",
    "                        'item_category_common',\n",
    "                        'item_category_code', \n",
    "                        'city_code',\n",
    "]\n",
    "\n",
    "lgb_train = lgb.Dataset(X_train[feature_name], Y_train)\n",
    "lgb_eval = lgb.Dataset(X_valid[feature_name], Y_valid, reference=lgb_train)\n",
    "\n",
    "evals_result = {}\n",
    "gbm = lgb.train(\n",
    "        params, \n",
    "        lgb_train,\n",
    "        num_boost_round=3000,\n",
    "        valid_sets=(lgb_train, lgb_eval), \n",
    "        feature_name = feature_name,\n",
    "        categorical_feature = feature_name_indexes,\n",
    "        verbose_eval=5, \n",
    "        evals_result = evals_result,\n",
    "        early_stopping_rounds = 100)\n"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "code",
   "execution_count": 104,
   "outputs": [
    {
     "data": {
      "text/plain": "<Figure size 864x576 with 1 Axes>",
      "image/png": "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f8S//48Zqv/FF184dtHi4+MZPny4yzHHZBITEwkLC6NYsWLUr1+fGjVqEBsbS8GCBR2On5+fH4cPH3a0mTt3LqGhobRq1YpDhw6l0jlr1izatm3r1q5KlSrx3XdWarl58+YRFxdHbGwsSUlJvPnmm44jms4MHDiQN998063zZzAYDAaDwWDIWpgAI1kcO8/a20BtVT3plGcNVf1WRLoBvVV1o5237CMRKaqqJ4AOwBce9BbFihjpyLNmF70DbFbVp0TkEeD/gLA05AAVgDqqesHOs/arqg4VkceBf7NHX9s8dAY6AxQpUpRBIVau74iICACOHj3KuXPnHN/JfPXVV5w+fZqSJUsSERHBxIkTadCgARs3biQmJobcuXO7tBk9ejTx8fEMHDiQ+++/n8KFC3PhwgVHnePHjzv6KVSoENOmTePOO+9k4cKFNGvWjI8//tihKzY2lk2bNpErV65UdgG0aNGCMWPGMG7cOEJDQylSpAhr165l2bJlBAUFsXfvXv744w8OHz5MREQEe/fuZf369TRr1ozff//d7XizG/Hx8dl+jAYLs9beg1lr78Kst/dg1jqTqKp5svADdAfeTyEbguWgAUQA1ZzKBgC9gILAfiCHB71PAjPcyDcDZZ2+DwH505APAQY7yaNS1DsFFElnjP7A9ozOSWBgoKZk//79Ghwc7CL78ssvtWbNmnru3DmHrE6dOlq6dGktXbq0FihQQAsVKqRjx45Npe+dd97RESNGaFJSkt5999165coVVVX97bfftEGDBqnqJyQkaP78+V1ko0eP1pdffjlVXXfExcVpyZIlVVX12Wef1VKlSmnp0qX17rvv1nz58mm/fv10woQJWrx4cS1durSWLFlS77jjDn344YczpD+rsnLlylttguEmYdbaezBr7V2Y9fYesuNaAxv1Bv+tb3bWvI8vge+Bi8AcVU24CX2euwl9XBWLFy/mww8/ZNWqVS5HBn/55RfH+5AhQ8ibNy/dunXjxIkT3HHHHRQsWJALFy6wbNky+vXrh4hQr149vv32W9q0acO0adNo1qwZAEeOHKF48eIALFy4kPLly7vYMHPmzFSBTZw5efIkhQsXxsfHhw8++ICOHTsCMGPGDEedqVOnsnHjRoYNGwZA165dAYiJieGJJ54w/wfLYDAYDAaDIQtj7qxlfVYATyeHuXc6rphMHJAv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\n"
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "lgb.plot_importance(\n",
    "    gbm, \n",
    "    max_num_features=50, \n",
    "    importance_type='gain', \n",
    "    figsize=(12,8));"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  },
  {
   "cell_type": "markdown",
   "source": [
    "Stacking didn't work for me. I'd tried 2 approaches:\n",
    "\n",
    "1. XGBoost + CatBoost + LightGBM at the first level and LinearRegression/LightGBM at the second level\n",
    "1. LinearRegression + LightGBM + RandomForest at the first level and LinearRegression/LightGBM at the second level"
   ],
   "metadata": {
    "collapsed": false
   }
  },
  {
   "cell_type": "code",
   "execution_count": 107,
   "outputs": [],
   "source": [
    "test = pd.read_csv('../data/0_raw/sales/test.csv.gz')\n",
    "Y_test = gbm.predict(X_test[feature_name]).clip(0, 20)\n",
    "\n",
    "submission = pd.DataFrame({\n",
    "    \"ID\": test.index, \n",
    "    \"item_cnt_month\": Y_test\n",
    "})\n",
    "submission.to_csv('../output/gbm_submission.csv', index=False)"
   ],
   "metadata": {
    "collapsed": false,
    "pycharm": {
     "name": "#%%\n",
     "is_executing": false
    }
   }
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "source": [],
    "metadata": {
     "collapsed": false
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}